Enterprises are complex organizations that often span multiple geographies, cultures, and authorities. Enterprises may include long-lived software systems such as web sites that are accessible through a web-tier by a potentially unlimited number of end users. Such software systems may also include content management systems configured to manage content items used by the web sites.
Initially, an enterprise may develop a web site for a specific locale or region. In doing so, the enterprise may produce, manage, and publish monolingual content for the web site. Often a content management system supporting the web site is also monolingual. A later expansion by the enterprise to cover a different locale or region may require that their web site(s) and content management system(s) support multilingual content, for instance, allowing a client device to send a HTTP request or make a method call (e.g., REST API calls). Through continual cycles of upgrade and redevelopment required for new and expanded functionality, enterprise-class software systems supporting enterprise web sites can accrue significant cost and complexity.
To this end, efforts have been made in conventional content management systems to manage multilingual content using either a translation-centric or an object-centric model. Translation-centric solutions manage translations of content as distinct objects and do not associate different translated versions of the content with each other. Object-centric solutions model translated versions of content as different values/versions of the same object, and require additional metadata to identify what translated versions of content are related on the web-tier. Object-centric solutions require independent management for each of the translated versions of content on the web tier. More specifically, translation-centric solutions model translations as different objects to provide independent life-cycles for translations. However, translation-centric solutions suffer from high reference maintenance cost associated with continual modification to existing software to refer to new translations. Object-centric solutions model translations as different values of the same object, thereby avoiding the reference maintenance cost problem. However, object-centric solutions suffer from tight coupling of translations to the life-cycle of a single object. This increases maintenance cost when translations need to be decoupled, for instance, in the event those translations diverge, or if they otherwise need to be managed independently.
Consequently, today's content management systems continue to struggle with various issues such as cost and complexity involved in managing multilingual content. Embodiments disclosed herein provide a new multilingual content management solution that can achieve the benefits of prior solutions without their deficiencies.